home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / ADV350.ZIP / shift.for < prev    next >
Text File  |  1990-11-11  |  411b  |  18 lines

  1.       INTEGER FUNCTION SHIFT(VAL,DIST)
  2.       
  3. C  RETURN VAL LEFT-SHIFTED (LOGICALLY) DIST BITS (RIGHT SHIFT IF DIST <0).
  4.  
  5.       IMPLICIT INTEGER*4 (A-Z)
  6.       
  7.       SHIFT=VAL
  8.       IF(DIST)10,20,30
  9.    10 IDIST=-DIST
  10.       DO 11 I=1,IDIST
  11.       J=0
  12.       IF(SHIFT.LT.0) J=8#10000000000
  13.    11 SHIFT=((SHIFT.AND.8#17777777777)/2)+J
  14.    20 RETURN
  15.    30 SHIFT=ISHFT(VAL,DIST)
  16.       RETURN
  17.       END
  18.